Mobile devices have become quite common today. The users of these mobile devices want to have their mobile devices updated with current information quite frequently. The process for updating information involves communicating with a fixed device (i.e., server) and is commonly referred to as a synchronization session. Synchronization sessions between mobile devices and servers are quite different from synchronization sessions between hard-wired devices and servers. For example, synchronization sessions between mobile devices and servers are more prone to lost or terminated transmissions. If there is a lost or terminated transmission, the information on the mobile device and on the server may not be identical. Thus, there is a need for an efficient method for recovering from a failed synchronization session due to a lost or terminated transmission that ensures a successful update to both the mobile device and the server.